package com.example.zhish.gobang.bean;

import android.graphics.Point;

/**
 * 表示棋盘状态
 * 对局状态，胜，负，平局
 * Created by qianjun on 2016/4/30.
 */
public class GobangCheckboard {
    /*
     * table表示棋盘所有落子
     * isStop表示是否结束
     *totalstep表示已经下了多少棋子
     * gobangCheckboard 棋盘
     */
    public int[][] table;
    public boolean isStop;
    public int totalStep;
    public static GobangCheckboard gobangCheckboard;
    /*
    *
    *
    */
    public int table_x;
    public int table_y;



    public GobangCheckboard(int table_x,int table_y) {
        this.table = new int[table_x][table_y];
        this.table_x = table_x;
        this.table_y = table_y;
    }

    public static GobangCheckboard getGobangCheckboard(int table_x,int table_y){
        if(gobangCheckboard == null){
            gobangCheckboard = new GobangCheckboard(table_x,table_y);
        }
        return gobangCheckboard;
    }

    public static GobangCheckboard getGobangCheckboard(){
        return gobangCheckboard;
    }

    /**
     * 初始化函数：
     * 重置棋盘
     * 重置步数
     * 重置下棋状态
     */
    public void init(){
        this.table = new int[table_x][table_y];
        this.totalStep = 0;
        this.isStop = false;
    }

    /**
     * 放置棋子
     * @param point 棋子的位置
     * @param pieceType 是黑子还是白子
     */
    public void putChessPiece(Point point,int pieceType){
        if(isStop){
            return;
        }
        this.table[point.x][point.y] = pieceType;
        this.totalStep++;
    }
}
